Rename the react.element symbol to react.transitional.element#28813
Merged
sebmarkbage merged 2 commits intofacebook:mainfrom Apr 22, 2024
Merged
Rename the react.element symbol to react.transitional.element#28813sebmarkbage merged 2 commits intofacebook:mainfrom
sebmarkbage merged 2 commits intofacebook:mainfrom
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We have changed the shape (and the runtime) of React Elements. To help avoid precompiled or inlined JSX having subtle breakages or deopting hidden classes, I renamed the symbol so that we can early error if private implementation details are used or mismatching versions are used. The fix is usually to stop inlining the JSX runtime e.g. by configuring the bundler to treat
react/jsx-runtimeandreact/jsx-dev-runtimeas externals.This also catches using a version of
react-isthat's not the same asreact.react-ismust be the same version asreact.Why "transitional"? Well, because this is not the last time we'll change the shape. This is just a stepping stone to removing the
reffield on the elements in the next version so we'll likely have to do it again.